]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
workspace: Don't store strategy on layout object
authorJonas Dreßler <verdre@v0yd.nl>
Mon, 1 Feb 2021 10:40:50 +0000 (11:40 +0100)
committerMarge Bot <marge-bot@gnome.org>
Mon, 1 Feb 2021 13:12:43 +0000 (13:12 +0000)
We're making the layout object fully owned by the layout strategy, so
store the current strategy somewhere else, that is as a private property
of the class.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1617>

js/ui/workspace.js

index 6a8e999b216af24c3d778221d6abb1125e736e81..383c1e939d343e30d90b438aeff5bfca70718ebe 100644 (file)
@@ -487,7 +487,7 @@ var WorkspaceLayout = GObject.registerClass({
 
         // We look for the largest scale that allows us to fit the
         // largest row/tallest column on the workspace.
-        const strategy = new UnalignedLayoutStrategy({
+        this._layoutStrategy = new UnalignedLayoutStrategy({
             monitor: Main.layoutManager.monitors[this._monitorIndex],
             rowSpacing,
             columnSpacing,
@@ -507,12 +507,11 @@ var WorkspaceLayout = GObject.registerClass({
             if (numColumns === lastNumColumns)
                 break;
 
-            const layout = strategy.computeLayout(this._sortedWindows, {
+            const layout = this._layoutStrategy.computeLayout(this._sortedWindows, {
                 numRows,
             });
-            layout.strategy = strategy;
 
-            const [scale, space] = strategy.computeScaleAndSpace(layout, area);
+            const [scale, space] = this._layoutStrategy.computeScaleAndSpace(layout, area);
 
             if (!this._isBetterScaleAndSpace(lastScale, lastSpace, scale, space))
                 break;
@@ -537,7 +536,7 @@ var WorkspaceLayout = GObject.registerClass({
             height: parseInt(containerBox.get_height()),
         };
 
-        return this._layout.strategy.computeWindowSlots(this._layout, availArea);
+        return this._layoutStrategy.computeWindowSlots(this._layout, availArea);
     }
 
     _getAdjustedWorkarea(container) {